package com.example.demo;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.net.InetAddress;
import java.net.*;
import java.util.Enumeration;
import java.util.Map;

public class NasStoreThread extends Thread {
    private static final Logger logger = LoggerFactory.getLogger(NasStoreThread.class);
    public void run() {
        while (true) {
            try {
                sleep(5*1000);
//                InetAddress addr = null;
//                try {
//                    addr = InetAddress.getLocalHost();
//                }catch (Exception e){
//                    e.printStackTrace();
//                }
//                String ip = addr.getHostAddress();
//                String hostname = addr.getHostName();
//                Enumeration enu = null;
//                try {
//                    enu = NetworkInterface.getNetworkInterfaces();
//                }catch (SocketException e1){
//                    e1.printStackTrace();
//                }
//                while(enu.hasMoreElements()) {
//                    NetworkInterface n = (NetworkInterface) enu.nextElement();
//                    Enumeration ee = n.getInetAddresses();
//                    while (ee.hasMoreElements()) {
//                        InetAddress i = (InetAddress) ee.nextElement();
//                        if(i.getHostAddress().startsWith("172.16.")){
//                            ip = i.getHostAddress();
//                        }
//                    }
//                }
//                logger.info("----ip---"+ip);
//                logger.info("----hostname---"+hostname);





//                List<Map<Object,Object>> list_cpu = new ArrayList<>();
//                try {
//                    list_cpu = DBUtil.getCpuInfoByIP(ip);
//                }catch (SQLException e){
//                    e.printStackTrace();
//                }
//                if(list_cpu.size()>0){
//                    try {
//                        DBUtil.updateCpuInfo(cpu,ip);
//                    }catch (SQLException e){
//                        e.printStackTrace();
//                    }
//                }else{
//                    try {
//                        DBUtil.insertCpuInfo(cpu,ip);
//                    }catch (SQLException e){
//                        e.printStackTrace();
//                    }
//                }
                //---------------------------操作系统、内存--------------------------------------
//                Map<Object,Object> mem = CPUUtil.MemInfo();
//                List<Map<Object,Object>> list_mem = new ArrayList<>();
//                try {
//                    list_mem = DBUtil.getMemInfoByIP(ip);
//                }catch (SQLException e){
//                    e.printStackTrace();
//                }
//                if(list_mem.size()>0){
//                    try {
//                        DBUtil.updateMemInfo(mem,ip,hostname);
//                    }catch (SQLException e){
//                        e.printStackTrace();
//                    }
//                }else{
//                    try {
//                        DBUtil.insertMemInfo(mem,ip,hostname);
//                    }catch (SQLException e){
//                        e.printStackTrace();
//                    }
//                }

                //---------------------------引擎信息--------------------------------------
//                List<Map<Object,Object>> list_engine = new ArrayList<>();
//                try {
//                    list_engine = DBUtil.getEngineInfoByIP(ip);
//                }catch (SQLException e){
//                    e.printStackTrace();
//                }
//                if(list_engine.size()>0){
//                    try {
//                        DBUtil.updateNasEngine(ip,hostname,"开机",3);
//                    }catch (SQLException e){
//                        e.printStackTrace();
//                    }
//                }else{
//                    try {
//                        DBUtil.insertNasEngine(ip,hostname,"开机",3);
//                    }catch (SQLException e){
//                        e.printStackTrace();
//                    }
//                }
            }catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }

}
